package com.dodol.util;

import org.testng.IAnnotationTransformer;
import org.testng.IRetryAnalyzer;
import org.testng.annotations.ITestAnnotation;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

/**
 * @Auther: 80736
 * @Date: 2018/9/7 09:50
 * @Description: 当我们重写了TestNG的IRetryAnalyzer 接口，
 * 那么就需要让系统调用我们重写的接口，需要让TestNG调用，
 * 还需要对TestNG.xml中的注解接口进行重写。先判断TestNG.xml中是否有重试分析器，
 * 如果没有，则调用我们自己重写类
 */
public class OverrideIAnnotationTransformer implements IAnnotationTransformer {

    public void transform(ITestAnnotation iTestAnnotation, Class aClass, Constructor constructor, Method method) {
        IRetryAnalyzer iRetryAnalyzer = iTestAnnotation.getRetryAnalyzer();
        if (iRetryAnalyzer == null) {
            iTestAnnotation.setRetryAnalyzer(TestNgRetry.class);
        }
    }


}
